#pragma once
#include <EASTL/unique_ptr.h>
#include <common_header.h>

struct GLFWwindow;

namespace primal
{

	struct WINDOW_DELETER
	{
		void operator()(GLFWwindow* p) const noexcept;
	};

	using Window = eastl::unique_ptr<GLFWwindow, WINDOW_DELETER>;

	class WindowSystem
	{
	public:
		WindowSystem();
		~WindowSystem();
		Window CreateWnd(const char* title = "Default", s32 width = 800, s32 height = 800, bool visibility = true);

	private:

	};

	WindowSystem& GetWS();
}